package com.link.base.base.accnt.service;
/**
 * @author: 郑洪达
 * @date: 2018-11-27
 * @comments:
 */

import com.link.base.base.accnt.dao.mybatis.mapper.AccountDetailMapper;
import com.link.base.base.accnt.model.AccountDetail;
import com.link.core.basic.dao.mapper.BasicMapper;
import com.link.core.basic.service.BasicServiceException;
import com.link.core.basic.service.BasicServiceImpl;
import com.link.core.util.StringUtils;
import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;


@Service
public class AccountDetailServiceImpl extends BasicServiceImpl<AccountDetail> implements
    AccountDetailService {

    @Resource
    private AccountDetailMapper accountDetailMapper;

    @Override
    public BasicMapper<AccountDetail> getBasicMapper() {
        return accountDetailMapper;
    }


    /**
     * 更新企业认证图片
     */
    @Override
    @Transactional(rollbackFor = BasicServiceException.class)
    public void updateCertificateImg(AccountDetail entity) throws Exception {

        AccountDetail params = new AccountDetail();
        params.setId(entity.getId());
        //三证合一
        if (!StringUtils.isBlank(entity.getThreeInOneUrl()) && !StringUtils
            .isBlank(entity.getThreeInOneBigUrl())) {
            params.setThreeInOneUrl(entity.getThreeInOneUrl());
            params.setThreeInOneBigUrl(entity.getThreeInOneBigUrl());
        } else if (!StringUtils.isBlank(entity.getTaxPayerUrl()) && !StringUtils
            .isBlank(entity.getTaxPayerBigUrl())) {
            //一般纳税人证明
            params.setTaxPayerUrl(entity.getTaxPayerUrl());
            params.setTaxPayerBigUrl(entity.getTaxPayerBigUrl());
        } else if (!StringUtils.isBlank(entity.getLicenceForAccountUrl()) && !StringUtils
            .isBlank(entity.getLicenceForAccountBigUrl())) {
            //开户许可证
            params.setLicenceForAccountUrl(entity.getLicenceForAccountUrl());
            params.setLicenceForAccountBigUrl(entity.getLicenceForAccountBigUrl());
        } else if (!StringUtils.isBlank(entity.getCorporateImagePhotoUrl()) && !StringUtils
            .isBlank(entity.getCorporateImagePhotoBigUrl())) {
            //企业形象照片
            params.setCorporateImagePhotoUrl(entity.getCorporateImagePhotoUrl());
            params.setCorporateImagePhotoBigUrl(entity.getCorporateImagePhotoBigUrl());
        } else if (!StringUtils.isBlank(entity.getIdCardFrontUrl()) && !StringUtils
            .isBlank(entity.getIdCardFrontBigUrl())) {
            //身份证正面
            params.setIdCardFrontUrl(entity.getIdCardFrontUrl());
            params.setIdCardFrontBigUrl(entity.getIdCardFrontBigUrl());
        } else if (!StringUtils.isBlank(entity.getIdCardReverseUrl()) && !StringUtils
            .isBlank(entity.getIdCardReverseBigUrl())) {
            //身份证反面
            params.setIdCardReverseUrl(entity.getIdCardReverseUrl());
            params.setIdCardReverseBigUrl(entity.getIdCardReverseBigUrl());
        } else if (!StringUtils.isBlank(entity.getCorporateImageTwoUrl()) && !StringUtils
            .isBlank(entity.getCorporateImageTwoBigUrl())) {
            //企业形象照片2
            params.setCorporateImageTwoUrl(entity.getCorporateImageTwoUrl());
            params.setCorporateImageTwoBigUrl(entity.getCorporateImageTwoBigUrl());
        } else if (!StringUtils.isBlank(entity.getCorporateImageThreeUrl()) && !StringUtils
            .isBlank(entity.getCorporateImageThreeBigUrl())) {
            //企业形象照片3
            params.setCorporateImageThreeUrl(entity.getCorporateImageThreeUrl());
            params.setCorporateImageThreeBigUrl(entity.getCorporateImageThreeBigUrl());
        } else {
            throw new RuntimeException("企业认证凭证更新异常");
        }

        // 根据客户ID判断数据库中是否存在
        AccountDetail result = accountDetailMapper.queryById(entity);
        if (null != result && null != result.getId()) {
            accountDetailMapper.updateCertificateImg(params);
        } else {
            accountDetailMapper.insertCertificateImg(params);
        }
    }
}

